summaryrefslogtreecommitdiffstats
path: root/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.kt')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.kt27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.kt
new file mode 100644
index 000000000..2a1994db4
--- /dev/null
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.kt
@@ -0,0 +1,27 @@
+package org.yuzu.yuzu_emu.utils
+
+import android.content.AsyncQueryHandler
+import android.content.ContentValues
+import android.content.Context
+import android.net.Uri
+import org.yuzu.yuzu_emu.model.GameDatabase
+import org.yuzu.yuzu_emu.model.GameProvider
+
+class AddDirectoryHelper(private val context: Context) {
+ fun addDirectory(dir: String?, onAddUnit: () -> Unit) {
+ val handler: AsyncQueryHandler = object : AsyncQueryHandler(context.contentResolver) {
+ override fun onInsertComplete(token: Int, cookie: Any?, uri: Uri) {
+ onAddUnit.invoke()
+ }
+ }
+
+ val file = ContentValues()
+ file.put(GameDatabase.KEY_FOLDER_PATH, dir)
+ handler.startInsert(
+ 0, // We don't need to identify this call to the handler
+ null, // We don't need to pass additional data to the handler
+ GameProvider.URI_FOLDER, // Tell the GameProvider we are adding a folder
+ file
+ )
+ }
+}